package main

import (
	"errors"
	"fmt"
)

/*
	异常处理
		defer：延迟执行代码
		recover：捕捉异常
		panic：抛出异常

*/
func test1() {
	defer func() {
		err := recover()
		if err != nil {
			fmt.Println(err) // runtime error: integer divide by zero
		}
	}()

	n1 := 10
	n2 := 0
	res := n1 / n2 // error: division by zero

	fmt.Println("res = ", res)
}

func test2(n int) {
	if n == 0 {
		panic(errors.New("oooooooo")) // 抛出一个异常
	}
	fmt.Println("test2.....")
}
func main() {
	// test1()
	test2(0)
	fmt.Println("main....")
}
